-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: metadata cache core impl #25552
Conversation
61a655f
to
a2b4e77
Compare
@alamb I tagged you on this as it is using influxdb/influxdb3_cache/src/meta_cache/mod.rs Lines 183 to 220 in dff0b2e
|
Implement the base MetaCache type that holds the hierarchical structure of the metadata cache providing methods to create and push rows from the WAL into the cache. Added a prune method as well as a method for gathering record batches from a meta cache. A test was added to check the latter for various predicates and that the former works, though, pruning shows that we need to modify how record batches are produced such that expired entries are not emitted.
a2b4e77
to
dd5f816
Compare
dff0b2e
to
0ae8f82
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me if this has follow up PRs (which I'm assuming since this doesn't seem to be hooked in)
} | ||
} | ||
|
||
// TODO: remove this when fully implemented, for now just suppressing compiler warnings |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is for a follow up PR when the metadata cache actually gets hooked up right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, the type will get used when I implement the DataFusion trait to hook this all up to the query path in #25544
Part of #25543
Implement the base
MetaCache
type that holds the hierarchical structure of the metadata cache providing methods to:max_age
and amax_cardinality
(here)Tests
Notes
influxdb3_cache
crate, which just holds the metadata cache for now, but may well also hold the last-n-value cache and parquet cache to get those out of theinfluxdb3_write
crateWriteValidator
frominfluxdb3_write
so it can be used as a more light-weight way of parsing line protocol and producingRow
s for testsMetaCacheProvider
and other pieces necessary to tie this into the system.